package com.smart.community.feign.appointment;

import com.smart.community.commons.result.Result;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;

/**
 * 预约服务Feign接口
 * 
 * @author Wu.Liang
 */
@FeignClient(
    name = "smart-community-appointment",
    fallback = AppointmentFeignClientFallback.class
)
public interface AppointmentFeignClient {
    
    /**
     * 获取预约记录
     * 
     * @param userId 用户ID
     * @return 预约记录
     */
    @GetMapping("/appointment/record/{userId}")
    Result<?> getAppointmentRecords(@PathVariable("userId") Long userId);
    
    /**
     * 获取预约状态
     * 
     * @param appointmentId 预约ID
     * @return 预约状态
     */
    @GetMapping("/appointment/status/{appointmentId}")
    Result<?> getAppointmentStatus(@PathVariable("appointmentId") Long appointmentId);
    
    /**
     * 获取可用时间段
     * 
     * @param serviceId 服务ID
     * @return 可用时间段
     */
    @GetMapping("/appointment/time/{serviceId}")
    Result<?> getAvailableTime(@PathVariable("serviceId") Long serviceId);
} 
